package com.softtown.modules.sys.service;

import com.softtown.common.service.BaseService;
import com.softtown.modules.security.user.UserDetail;
import com.softtown.modules.sys.dto.SysAppMenuDTO;
import com.softtown.modules.sys.dto.SysMenuDTO;
import com.softtown.modules.sys.entity.SysCompMenuEntity;

import java.util.List;

/**
 * 公司菜单
 *
 * @author Dingyayong
 * @version v1.0
 * @create 2019-05-20 17:41
 **/
public interface SysCompMenuService extends BaseService<SysCompMenuEntity> {

    /**
     * 公司APP列表
     * @param  companyId 用户
     * @return
     * @author Dingyayong
     * @date 2019-05-20 15:26
     */
    List<SysMenuDTO> getListApp(Long companyId);

    /**
    * 公司APP列表
    * @param  companyId 用户
    * @return  List<SysMenuDTO>
    * @author Dingyayong
    * @date 2019/6/17 17:45
    */
    List<SysMenuDTO> getListTreeApp(Long companyId);

    /**
     * 用户菜单列表
     * @param user
     * @param type
     * @param companyId
     * @param appId
     * @param roleIds
     * @return java.util.List<com.softtown.modules.sys.dto.SysMenuDTO>
     * @Author fuming
     * @Date 2020/5/27 16:39
     */
    List<SysMenuDTO> getUserMenuList(UserDetail user, Integer type, Long companyId, Long appId, List<Long> roleIds);

    /**
     * 判断用户是否拥有待支付权限
     * @param compId 公司id
     * @return boolean
     */
    boolean getMenuByType(Long compId,Long appId);


    List<SysAppMenuDTO> getAppMenuList(Long companyId);
}
